\documentclass[a4paper]{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{charter}   % tipografia
\usepackage{graphicx}
\usepackage{float}

%\usepackage{makeidx}
\usepackage{paralist} %itemize inline

%\usepackage{float}
%\usepackage{amsmath, amsthm, amssymb}
%\usepackage{amsfonts}
%\usepackage{sectsty}
%\usepackage{charter}
%\usepackage{wrapfig}
%\usepackage{listings}
%\lstset{language=C}


\input{codesnippet}
\input{page.layout}
% \setcounter{secnumdepth}{2}
\usepackage{underscore}
\usepackage{caratula}
\usepackage{url}


% ******************************************************** %
%              TEMPLATE DE INFORME ORGA2 v0.1              %
% ******************************************************** %
% ******************************************************** %
%                                                          %
% ALGUNOS PAQUETES REQUERIDOS (EN UBUNTU):                 %
% ========================================
%                                                          %
% texlive-latex-base                                       %
% texlive-latex-recommended                                %
% texlive-fonts-recommended                                %
% texlive-latex-extra?                                     %
% texlive-lang-spanish (en ubuntu 13.10)                   %
% ******************************************************** %



\begin{document}


\thispagestyle{empty}
\materia{Organización del Computador II}
\submateria{Segundo Cuatrimestre de 2014}
\titulo{Trabajo Práctico II}
\subtitulo{Filtros de Im\'agenes}
\integrante{Fabi\'an Gonz\'alez}{076/01}{utyman@gmail.com}
\integrante{Christian L\'opez}{821/05}{christianlt_85@hotmail.com}
\integrante{Jos\'e Massigoge}{954/12}{jmas@live.com.ar}

\maketitle
\newpage

\thispagestyle{empty}
\vfill
\begin{abstract}
En el presente trabajo se describe la problemática de las limitaciones que posee el procesamiento secuencial para el manejo de grandes cantidades de datos, con operaciones similares y repetitivas. En contraste, se expermientará como el procesamiento vectorial permite superar estas limitaciones, y se intentará dar una medida respecto de la mejora en la performance.
\end{abstract}


\thispagestyle{empty}
\vspace{3cm}
\tableofcontents
\newpage


%\normalsize
\newpage

\section{Objetivos generales}
El presente Trabajo Práctico tiene como objetivo explorar el modelo de programación SIMD mediante el análisis y evaluación de las ventajas del procesamiento en paralelo frente al procesamiento en serie tradicional. Una de las principales aplicaciones del modelo SIMD es el procesamiento de imágenes.
En este trabajo se implementaron una serie de 4 filtros para el procesamiento de imágenes en dos formas distintas: la primera, utilizando el lenguaje C, lo que equivale al procesamiento en serie tradicional. La segunda, en lenguaje ensamblador, empleando el conjunto de instrucciones del SIMD, en su extensión SSE2.



\section{Enunciado y solucion} 
\input{enunciado}

\newpage
\input{ejercicio1}
\newpage
\input{ejercicio2}
\newpage
\input{ejercicio3}
\newpage
\input{ejercicio4}
\newpage

\section{Conclusiones y trabajo futuro}
Hemos comprobado claramente, a través de todas las experiencias realizadas, las notables ventajas del procesamiento en paralelo del modelo SIMD frente al procesamiento en serie tradicional. Sin embargo, debemos decir que esas ventajas tan significativas se han dado sólo en términos de performance. En este trabajo no se han detallado los inconvenientes con los que nos hemos topado a la hora de depurar el código en ensamblador para encontrar fallas, evaluar el origen de procesamiento incorrectos o incluso el acto mismo de programar en este lenguaje de tan bajo nivel. Mientras que el desarrollo del código C (al igual que su corrección) fue prácticamente inmediato (sólo tomó algunas pocas horas), la escritura de código en ensamblador, si bien no ha sido muy compleja, si lo ha sido la corrección de sus errores. 
Como conclusión podemos decir que las enormes ventajas en términos de performance del lenguaje en ensamblador y el modelo de programación SIMD se ven afectadas con lo poco práctico y complejo que resulta programar en este lenguaje. La mejor estrategia probablemente pase por emplear este lenguaje y el modelo SIMD en casos particulares donde la performance resulte ser un factor crítico (tales como el procesamiento digital de imágenes).


\end{document}